1. Field of the Invention.
The present invention relates generally to graphical user interfaces, and in particular, to a method, apparatus, and article of manufacture for collapsing dialogs and/or windows of a graphical user interface of an application.
2. Description of the Related Art.
Computer systems and computer applications commonly present and display information in a visually appealing and organized manner on a display device through a graphical user interface. Such graphical user interfaces typically display the information in one or more “windows”. Further, each active application (or document) executing on the computer system is often represented by a different window. In addition to a main or primary window for each active application, additional secondary windows may also be displayed by each application. Such secondary windows may provide the user with a plethora of information and capabilities (e.g., warning messages, the progress of a task, the ability to adjust application specific settings, etc.).
A dialog box/window is a secondary window that allows the user to interact with an application in ways that supplement the task in the main/primary window. For example, dialog boxes may be used to control the properties of an object, to request further information from the user or to notify the user of an event. Specific examples include a dialog box that enables users to set preferences or choose a file from the hard disk. A dialog box can contain panes and panels, text, graphics, controls (such as checkboxes, radio buttons, or sliders), and/or one or more command buttons. Dialog boxes may be implemented in a variety of different forms, suitable for different situations, and each with their own user interface implications.
All dialog boxes are classified as either modal or modeless. A modal dialog box prevents users from interacting with any other part of the application until the dialog box is dismissed. However, users can move a modal dialog box and interact with other applications while the modal dialog box is open. This behavior is sometimes referred to as “application-modal”. Modal dialog boxes are often only used where it is necessary that the user doesn't make any changes to the state of the program before performing an action with the dialog or closing it.
A modeless dialog box does not prevent users from interacting with the application they are in or with any other application while the dialog is visible. Users can go back and forth between a modeless dialog box and other application windows. Generally, modeless dialog boxes are used for tasks such as changing the properties of an object or tool.
An alert or informational dialog box is a secondary window that does not require the user to enter any data or make choices (although they may require brief interaction with users). Accordingly, alert/informational dialog boxes are often used merely for notification purposes. For example, such boxes may present error messages, warn of potentially harmful actions, obtain a small amount of information from users, or display messages. The basic alert/informational box has a symbol that identifies the type of the alert, a textual message, and one or more command buttons (e.g., to close the box). Alert/informational dialog boxes may be either modal or modeless as appropriate.
The layout of a dialog box often does not change substantially between applications. FIG. 1 illustrates a typical dialog box of the prior art. The top portion of a dialog box often contains a title bar 102 that includes a representative icon 104 and title 106 for the dialog box on the left side and one or more icons 108-112 on the right side of the title bar for various system operations. Such system operation icons may include a “−” 108 for minimizing the application, an icon 110 for maximizing or restoring the dialog box, and/or an “X” 112 for closing the dialog box.
A dialog box may also include text or a message (e.g., an alert warning or error message) to the user 114. Further, as described above, various mechanisms 116-122 may be presented in a dialog box which allow a user to provide input or interact with the dialog box. Such mechanisms may include a drop down menu 116, text fields 118, radio buttons 120, and/or an action button 122 (e.g., “CLOSE”, “CANCEL”, “OK”, etc.).
Many applications use one or more variations of the above-described dialog boxes. Further, it is often desirable to open a dialog box and for the dialog box to remain open while a user is working in the main application. However, as each dialog box is opened, screen space is consumed by the dialog box and taken away from the underlying active application. Accordingly, with multiple dialog boxes open, valuable screen space is unavailable to the user. Such screen space is paramount in many applications including drawing applications where modeless dialogs allow drawing to continue but can cover significant areas of the drawing space. Further, displayed dialog boxes tend to distract the user's attention from the main application and task being performed.
To reduce the size of a dialog box, limited options are available. Further, all of the available options require multiple actions by the user. For example, a user can close the dialog box (e.g., using close button 122 or by selecting icon “X” 112). Alternatively, the user can minimize the dialog box (e.g., by selecting icon “−” 108). In another alternative, the user may restore down the dialog box (e.g., by selecting icon 110). Once any of these options are selected, the user must then click in the main application window to work in the main application. Thus, the user must not only specifically select or take action to minimize the space consumed by the dialog box, but the user must also make an additional selection to continue working in another application.
Additionally, if the user then desires to view the contents of the dialog box or perform further actions in the dialog box, the user must select the appropriate icon or take additional action to reopen the dialog box.
What is needed is a method for conserving screen space while using one or more dialog boxes of an application program. Further, what is needed is a method that minimizes the amount of user actions required.